home *** CD-ROM | disk | FTP | other *** search
- //--------------------------------------------------------------------------
- //
- // Copyright (c) 2002, Colin Granville
- //
- // All rights reserved.
- //
- // Redistribution and use in source and binary forms, with or
- // without modification, are permitted provided that the following
- // conditions are met:
- //
- // * Redistributions of source code must retain the above copyright
- // notice, this list of conditions and the following disclaimer.
- //
- // * Redistributions in binary form must reproduce the above
- // copyright notice, this list of conditions and the following
- // disclaimer in the documentation and/or other materials
- // provided with the distribution.
- //
- // * The name Colin Granville may not be used to endorse or promote
- // products derived from this software without specific prior
- // written permission.
- //
- // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- // COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- // OF THE POSSIBILITY OF SUCH DAMAGE.
- //
- //--------------------------------------------------------------------------
-
- #ifndef GuiDrawFileSprite_h
- #define GuiDrawFileSprite_h
-
- #include "GuiDrawFile.h"
-
- class GuiDrawFileSpriteBlock
- {
- public:
- int size;
- char name[12];
- int width;
- int height;
- int leftHandWastage; //0 for new sprite formats
- int lastBitUsed;
- int offsetToImage;
- int offsetToMask;
- unsigned int mode;
- };
-
- //***************************************************************
-
- class GuiDrawFileSprite
- {
- public:
- enum {OBJECT_ID =13};
-
- GuiDrawFileSprite(GuiDrawFile&);
- ~GuiDrawFileSprite();
-
- void start(int width_pix,int height_pix,int bpp);
- void startMask(); //optional
- void startMaskFill(); //optional
- void startImage();
- void end(const GuiTransform&, const GuiBBox& bounds);
-
- void put(int i) {drawfile.put(i);}
- void put(unsigned int i) {drawfile.put(i);}
- char* getPtr() {return drawfile.getPtr(startPos+
- sizeof(GuiDrawFileGraphicsObject)+
- sizeof(GuiTransform));}
- private:
- GuiDrawFile& drawfile;
- size_t startPos;
- GuiDrawFileSpriteBlock sprite;
- };
-
- #endif
-